home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / SWI / source / INSTALL.notes < prev    next >
Encoding:
Text File  |  1995-08-28  |  3.6 KB  |  116 lines

  1.             Installing SWI-Prolog
  2.             =====================
  3.  
  4.                Jan Wielemaker
  5.             (jan@swi.psy.uva.nl)
  6.  
  7.  
  8. Configuration, compilation and installation is  now   based  on  the GNU
  9. autoconf package.  It is my hope that   this, together with many updates
  10. to the source code will  make  the   installation  much  easier  on most
  11. machines.
  12.  
  13. In normal cases, the following should do:
  14.  
  15.     % cd src
  16.     % ./configure
  17.     % make
  18.     % make install
  19.  
  20. By default, the system  is  installed   as  /usr/local/bin/pl,  with the
  21. libraries in /usr/local/lib/pl-<version>.
  22.  
  23.     % ./configure --prefix=PREFIX
  24.  
  25. Building for multiple architectures
  26. ===================================
  27.  
  28. To build for a second architecture, you  should either clean the sources
  29. using `make distclean' or make  a  new   directory  next  to  the source
  30. directory and run configure in  this   directory.  The  latter procedure
  31. requires GNU-MAKE.  For example:
  32.  
  33.     % mkdir rs6000
  34.     % cd rs6000
  35.     % ../src/configure
  36.     % make
  37.     % make install
  38.  
  39. Building a runtime version
  40. ==========================
  41.  
  42. The runtime version has  no  tracer,   doesn't  handle  interrupts (just
  43. exits), has no profiler and no readline   included.  To build it using a
  44. separate directory:
  45.  
  46.     % mkdir rt
  47.     % cd rt
  48.     % ../src/configure --enable-runtime
  49.     % make
  50.     % make install
  51.  
  52. Some things may need attention:
  53. ===============================
  54.  
  55. # GNU readline library
  56.  
  57. When present, SWI-Prolog will  automatically   include  the GNU readline
  58. library. It is *strongly*  adviced  to   install  this  library  on your
  59. system. It provides editing of previously  entered commands (history) as
  60. well as completion on Prolog  atoms   and  filenames (for consult, etc.)
  61. much like the bash and tcsh shells do.
  62.  
  63. SWI-Prolog has been linked  with  versions  1.1,   1.2  and  2.0  of the
  64. readline library.
  65.  
  66. # Foreign language interface (dynamic linker)
  67.  
  68. Incremental linking may be based on several mechanisms provided by the
  69. operating system:
  70.  
  71.     1) dlopen() and friends.
  72.     2) HPUX shl_load() and friends.
  73.     3) Win32 (Windows-NT, '95 and win32s) .DLL interface
  74.     4) AIX load() and friends
  75.     5) MACH rld_load() and friends
  76.     6) BSD Unix `ld -A' combined with reading BSD a.out file
  77.  
  78. By default, SWI-Prolog will guess whether  it   can  use  any of 1-3. to
  79. support the library(shlib) predicates. On failure, it will try to detect
  80. the others, supporting the load_foreign/[2,5]   dynamic  loader. On some
  81. machines, using 1-3 will conflict with using 4-6.  If you want on of 4-6
  82. anyway (this would only be for  obscure backward compatibility reasons),
  83. you may configure using:
  84.  
  85.     ./configure --disable-shared
  86.  
  87. # Saved states (save/[1,2], save_program/[1,2])
  88.  
  89. save/[1,2] and save_program/[1,2] are getting  out   of  fashion  as the
  90. schema proves difficult to port to modern machines using shared libaries
  91. which make it very hard to gather the process state.
  92.  
  93. New releases (as of  2.1.4)   provide  qsave_program/[1,2]  which create
  94. portable saved states  that  may  be   loaded  on  emulators  running on
  95. different hardware.
  96.  
  97. The default save mechanism is qsave_program/[1,2],  which is portable to
  98. all platforms. The old-fashioned core-dump based mechanism might work on
  99. some bsd `a.out' format based Unix  machines   and  a few others. If you
  100. want  the  system  to  configure    save/[1,2]  and  save_program/[1,2],
  101. configure using
  102.  
  103.     ./configure --enable-save
  104.  
  105. # Memory mapped stacks
  106.  
  107. Configure will see if mmap() may be used to allocate the stacks.  If you
  108. think this should be possible, but Configure   says `no', please work on
  109. test/mmap.c
  110.  
  111. # Assembler warnings
  112.  
  113. If you get assembler warnings compiling pl-wam.c, try #define NO_ASM_NOP
  114. 1 in config.h. Should be  determined   automatically  by test/nop.c, but
  115. sometimes appears to fail.
  116.